package com.cruise.game.mapper;

import com.cruise.game.model.entity.OrderRating;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;

/**
 * 订单评价Mapper接口
 * 
 * @author cruise
 * @date 2025-02-28
 */
@Repository
public interface OrderRatingMapper extends BaseMapper<OrderRating> {

    /**
     * 根据订单ID查询评价
     *
     * @param orderId 订单ID
     * @return 评价
     */
    OrderRating selectByOrderId(@Param("orderId") Long orderId);

    /**
     * 计算代理的平均评分
     *
     * @param agentId 代理ID
     * @return 平均评分
     */
    BigDecimal selectAgentAverageRating(@Param("agentId") Long agentId);

    /**
     * 统计代理的评价数量
     *
     * @param agentId 代理ID
     * @return 评价数量
     */
    int countByAgentId(@Param("agentId") Long agentId);
}
